The present invention generally relates to an object-oriented method and system for modeling and in particular it relates to a method and system for associating objects in models or between disparate models.
The storage and manipulation of data records or objects within a database application is well known in the prior art. A database allows one to store information in it; and it does not necessarily have any special meaning associated with the things that are stored in the database. A repository not only uses the database as a data store, but it is a layer above a database. A repository has information about the things stored in the database. Stated otherwise, a repository is like a card catalog that is found in the library, with the library being analogous to a database.
With the advent of repositories, improvements in the accessibility of data within databases has improved. However, as these repositories become larger and more complex an improved method is required to support not only extensive object modeling in such a repository, but associating classes between models.
It is an object of the present invention to provide navigation between objects in any direction by providing an API that allows objects, which are not members of the same tool/technology model, to be related.
Another object of the present invention is to provide a method that supports the dynamic addition of associations between objects in disparate models; where dynamic means no models containing associations between metadata are required, and no schema need be generated when such metadata is added to the repository.
A feature of the present invention is the ability to navigate multi-valued associations via collections of association objects or collections of the objects associated with a source object.
Another feature of the present invention is the ability to navigate from an object at one end of the association to an object at the other end of the association, or vice versa, or to navigate the association itself.
Yet another feature of the present invention is the ability to dynamically define destruct methods to be called when an association is destructed. These methods should operate in a fashion similar to the model supplied destruct methods for normal persistent objects and extend similar capabilities to associations.
Still other objects, features and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description, wherein is shown and described only the preferred embodiment of the invention, simply by way of illustration of the best mode contemplated of carrying out the invention. As will be realized, the invention is capable of other and different embodiments, and its several details are capable of modifications in various obvious respects, all without departing from the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive, and what is intended to be protected by Letters Patent is set forth in the appended claims. The present invention will become apparent when taken in conjunction with the following description and attached drawings, wherein like characters indicate like parts, and which drawings form a part of this application.